package cn.tedu.zhyl.appointment.service;

import cn.tedu.zhyl.appointment.pojo.dto.ReservationDTO;
import cn.tedu.zhyl.appointment.pojo.dto.ReservationParam;
import cn.tedu.zhyl.appointment.pojo.vo.ReservationVO;
import cn.tedu.zhyl.appointment.pojo.vo.TimeCountVO;
import cn.tedu.zhyl.base.response.JsonResult;
import cn.tedu.zhyl.base.response.PageResponse;

import java.time.LocalDateTime;
import java.util.List;


public interface ReservationService {

    void addReservation(ReservationDTO dto);

    PageResponse<ReservationVO> findByPage(Integer pageNum, Integer pageSize, Integer status);

    Integer getCancelledCount();

    List<TimeCountVO> getCountByTime(LocalDateTime of);

    void cancelReservation(Long id);

    void updateReservationStatus();

    List<ReservationVO> selectList(ReservationParam reservationParam);
}
